package net.learn2develop.SMSMessaging;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class SmsReceiver extends BroadcastReceiver {
	@Override
	public void onReceive(Context context, Intent intent) {
		// ---get the SMS message passed in---
		Bundle bundle = intent.getExtras();
		SmsMessage[] msgs = null;
		String str = "";
		if (bundle != null) {
			// ---retrieve the SMS message received---
			Object[] pdus = (Object[]) bundle.get("pdus");
			msgs = new SmsMessage[pdus.length];
			for (int i = 0; i < msgs.length; i++) {
				msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
				// str += "SMS from " + msgs[i].getOriginatingAddress();
				// str += ": ";
				str += msgs[i].getMessageBody().toString();
				// str += "\n";
			}
			// ---display the new SMS message---
			// Toast.makeText(context, str, Toast.LENGTH_SHORT).show();

			try {
				Intent myIntent = new Intent(context, SMSDecrypt.class);
				myIntent.setFlags(Intent.FLAG_FROM_BACKGROUND);
				// myIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
				myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
				myIntent.putExtra("encrypted", str);
				context.startActivity(myIntent);
			} catch (Exception e) {
				// System.out.println("ERROR: " + e.getMessage());
				Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT)
						.show();
			}
		}
	}
}
